CloudKit CKAsset
使用资产将外部文件(如照片、视频和二进制文件)整合到应用的记录中。或者,在字段值超过几千字节时使用资产。要将 CKAsset
的一个实例与一个记录关联,将其分配给其一个字段。
注:CloudKit 仅存储资产的数据。如果您需要其文件名,或任何其他文件系统元数据,请在记录中使用一个或多个单独的字段来存储它。
CloudKit 将资产的数据与引用它的记录分开存储,但与该记录保持关联。当你保存包含资产的记录时,CloudKit 会将记录和资产都保存到服务器。同样地,当你获取记录时,服务器会返回记录和资产。
当你检索包含资产的记录时,CloudKit 会在你的应用可以访问的暂存区域存储资产的数据。使用资产的 fileURL
属性来访问其暂存位置。系统会定期删除暂存区域中的文件以回收磁盘空间。为了避免这种行为,请在检索到数据后尽快将其移入应用的容器中。
如果在检索记录时不需使用资产,使用操作的 desiredKeys
属性来排除该字段。更多信息,请参阅 CKFetchRecordsOperation
、 CKQueryOperation
和 CKFetchRecordZoneChangesOperation
。
如果你不再需要服务器上的某个资产,你不会删除它。相反,通过将包含资产的任何字段设置为 nil
,然后保存记录来使资产成为孤儿。CloudKit 定期从服务器上删除孤儿资产。
本文作者:Maeiee
本文链接:CloudKit CKAsset
版权声明:如无特别声明,本文即为原创文章,版权归 Maeiee 所有,未经允许不得转载!
喜欢我文章的朋友请随缘打赏,鼓励我创作更多更好的作品!